package com.yic.module.system.convert.code;

import java.util.*;

import com.yic.framework.common.pojo.PageResult;

import com.yic.module.system.dal.dataobject.code.CodeRuleDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
import com.yic.module.system.controller.admin.code.vo.*;
import com.yic.module.system.dal.dataobject.code.CodeDO;

/**
 * 编号规则 Convert
 *
 * @author 系统管理员
 */
@Mapper
public interface CodeConvert {

    CodeConvert INSTANCE = Mappers.getMapper(CodeConvert.class);

    CodeDO convert(CodeCreateReqVO bean);

    CodeDO convert(CodeUpdateReqVO bean);

    @Mapping(source = "id", target = "id")
    CodeRespVO convert(CodeDO bean);

    CodeRespVO convert(CodeDO bean, List<CodeRespVO.Rule> rules);


    List<CodeRespVO> convertList(List<CodeDO> list);

    PageResult<CodeRespVO> convertPage(PageResult<CodeDO> page);

    List<CodeExcelVO> convertList02(List<CodeDO> list);

}
